﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AFSharedLibrary;
using UIDesigner.Designers;
using System.Windows.Forms;
using UIDesigner.Editors;
using UIDesigner.SurfaceProperties;

namespace UIDesigner.DesignContainers.Bases
{
    public class BaseObjectControlHandlers
    {
        public delegate void PromoteOptionsPanelHandler(IBaseObjectControl ctrlFrom, Panel ctrlOptionsPanel);
    }

    public interface IBaseObjectControl
    {
        event BaseObjectControlHandlers.PromoteOptionsPanelHandler PromoteOptionsPanel;
        Construct BusinessObject { get; }
        string BusObjectsLocation { get; }
        string Name { get; }
        Control PropertyGridView { get; }
        void HandleSurfaceProperties(DynamicEnumType objDynamicEnumType);
        void RemoveTemplatedControls();
        void RemoveSurfaceControls();
        void OnFlush();
        void ApplySurfaceProperties(SurfacePropertiesBase objSelected);
    }
}
